Refactoring and Aggregation

نویسندگان

  • Ralph E. Johnson
  • William F. Opdyke
چکیده

Object-oriented programs evolve by means other than just the addition of new classes. The changes to object-oriented programs that have been most studied are those based on inheritance, on reorganizing a class hierarchy. However, aggrega-tion is a relationship between classes that is just as important as inheritance, and many changes to an object-oriented design involve the aggregate/component relationship. This paper describes some common refactorings based on aggregation, including how to convert from inheritance to an aggregation, and how to reorganize an aggregate/component hierarchy just as one might reorganize a class inheritance hierarchy.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Making refactoring decisions in large-scale Java systems: an empirical stance

Decisions on which classes to refactor are fraught with difficulty. The problem of identifying candidate classes becomes acute when confronted with large systems comprising hundreds or thousands of classes. In this paper, we describe a metric by which key classes, and hence candidates for refactoring, can be identified. Measures quantifying the usage of two forms of coupling, inheritance and ag...

متن کامل

An empirical study on encapsulation and refactoring in the object-orientated paradigm

ion The concept of abstraction from the perspective of OO SE is a process that involves identifying only crucial aspects of a problem and ignoring the non-essential information and details. Abstract Class An abstract class is a class that can not be instantiated. It contains both attributes and methods, and serves as a base class from which other classes can be derived.Class An abstract class i...

متن کامل

Routing and State Distribution Trade-Offs in SDN

Software Defined Networking (SDN) introduces programability into the network forwarding plane and simultaneously enables architectural refactoring of the routing control plane. In this work, we present two complementary studies leveraging the opportunities presented by SDN. First, in the context of internet router architectures in Section II, we propose leveraging OpenFlow forwarding informatio...

متن کامل

The Need for Object - Oriented Reengineering

insert() abstract delete() abstract lookup() abstract forall() HashSet ... ListSet ... Set impl insert() delete() lookup() forall() deleteAll() union() constructor() changeImpl() SetImpl abstract insert() abstract delete() abstract lookup() abstract forall() abstract changeImpl() constructor (type subtypeSetImpl) { impl = new type ; }insert() abstract delete() abstract lookup() abstract forall(...

متن کامل

Effect of the Garlic Pill in comparison with Plavix on Platelet Aggregation and Bleeding Time

Abstract Introduction Platelet aggregation plays a significant role in the etiology of cardiovascular diseases. Therefore, treatments to inhibit platelet aggregation can reduce the risk of coronary thrombosis. Several studies indicated that garlic can inhibit platelet aggregation. This study aimed to determine the effect of garlic in comparison with Plavix on platelet aggregation. Materials ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993